package com.ccnu.JobHub.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyBatisConfig {

/**
 * 创建并配置MybatisPlus拦截器
 * 该方法主要用于创建并配置MybatisPlus的拦截器，以实现全局的分页功能
 * 通过这个拦截器，我们可以统一处理分页查询，提高代码的复用性和可维护性
 *
 * @return MybatisPlus拦截器实例，用于MybatisPlus的配置和使用
 */
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
    // 创建MybatisPlus拦截器实例
    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    // 创建分页内拦截器，指定数据库类型为MySQL
    PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
    // 设置最大查询条数为1000
    paginationInnerInterceptor.setMaxLimit(1000L);
    // 添加分页插件到MybatisPlus拦截器中
    interceptor.addInnerInterceptor(paginationInnerInterceptor);

    // 返回配置好的MybatisPlus拦截器实例
    return interceptor;
}

}
